package com.MusicWeb.service;

import com.MusicWeb.dao.DB;
import com.MusicWeb.entity.User;
import com.MusicWeb.entity.UserInformation;

import java.util.List;
import java.util.Map;

public class UserinformationService {
    /**
     * 用户提交个人信息的业务方法
     * 用户提交  name age sex phone email user_id
     * 返回值不为空则提交成功
     */
    public UserInformation Userinformation(UserInformation userInformation) {
        try {
            // 根据传入的user对象，执行对应的新增sql
            int a = DB.executeUpdate("insert into user_information (name, age,sex,phone,email,user_id) " +
                            " values (?, ?, ?, ?, ?, ?)"
                    , userInformation.getName()
                    , userInformation.getAge()
                    ,userInformation.getSex()
                    ,userInformation.getPhone()
                    ,userInformation.getEmail()
                    ,userInformation.getUserid());
            // SQL执行结果为-1，表示有数据库执行错误，返回null
            if (a == -1) {
                return null;
            }
        } catch (Exception e) {
            // 报出异常，插入失败，返回null
            e.printStackTrace();
            return null;
        }
        // 正常情况下返回user对象，表示插入成功
        return userInformation;
    }
    /*
    个人id查询个人信息
     */
    public UserInformation select(Integer id){
        // 调用DB执行sql语句，传入一个参数：account
        List<Map<String, Object>> result = DB.executeQuery("select * from user_information where user_id = ?", id);
        // 用于存数据库中的密码
        UserInformation user = null;
        if (result != null) {
            user = new UserInformation();
            // 从查询的结果集中，取出最后一条的PASSWORD（理论上至多1条，可能0条）
            for (Map<String, Object> stringObjectMap : result) {
                    user.setId((Integer) stringObjectMap.get("id"));
                    user.setUserid((Integer)stringObjectMap.get("user_id"));
                    user.setName((String)stringObjectMap.get("name"));
                    user.setSex((String)stringObjectMap.get("sex"));
                    user.setAge((Integer)stringObjectMap.get("age"));
                    user.setEmail((String)stringObjectMap.get("email"));
                    user.setPhone((String)stringObjectMap.get("phone"));
            }
        }
        if (user != null) {
            return user;
        }
        return null;


    }

}
